84134bc3826b7091bc285fa9206f6663ce380ee6,src/main/java/org/basex/gui/dialog/DialogOpen.java,DialogOpen,action,#Object#,136

Before Change



    if(cmp == open) {
      close();
    } else if(cmp == rename) {
      final DialogInput dr = new DialogInput(db, RENAMETITLE, gui, 1);
      if(!dr.ok() || dr.input().equals(db)) return;
      refresh = true;
      DialogProgress.execute(this, "", new AlterDB(db, dr.input()));
    } else if(cmp == copy) {
      final DialogInput dc = new DialogInput(db, COPYTITLE, gui, 2);
      if(!dc.ok() || dc.input().equals(db)) return;
      refresh = true;
      DialogProgress.execute(this, "", new Copy(db, dc.input()));
    } else if(cmp == drop) {
      if(db.isEmpty() || !Dialog.confirm(gui, Util.info(DROPCONF, db))) return;
      refresh = true;
      DialogProgress.execute(this, "", new DropDB(db));
    } else if(cmp == backup) {
      DialogProgress.execute(this, "", new CreateBackup(db));
    } else if(cmp == restore) {
      DialogProgress.execute(this, "", new Restore(db));
    } else {
      // update components
      ok = ctx.mprop.dbexists(db);
      enableOK(buttons, BUTTONDROP, ok);
      if(ok) {
        doc.setText(db);
        DataInput in = null;
        final MetaData meta = new MetaData(db, ctx);
        try {
          in = new DataInput(meta.dbfile(DATAINFO));
          meta.read(in);
          detail.setText(InfoDB.db(meta, true, true, true));
        } catch(final IOException ex) {
          detail.setText(Token.token(ex.getMessage()));
          ok = manage;
        } finally {
          if(in != null) try { in.close(); } catch(final IOException ex) { }
        }
      }
      enableOK(buttons, BUTTONOPEN, ok);
      enableOK(buttons, BUTTONRENAME, ok);
      enableOK(buttons, BUTTONBACKUP, ok);
      enableOK(buttons, BUTTONCOPY, ok);

After Change


    final StringList dbs = choice.getValues();
    final String db = choice.getValue().trim();
    final ObjList<Command> cmds = new ObjList<Command>();
    ok = dbs.size() > 0;

    if(cmp == open) {
      close();
    } else if(cmp == drop) {
      if(!Dialog.confirm(gui, Util.info(DROPCONF, dbs.size()))) return;
      refresh = true;
      for(final String s : dbs) cmds.add(new DropDB(s));
    } else if(cmp == rename) {
      final DialogInput dr = new DialogInput(db, RENAMETITLE, gui, 1);
      if(!dr.ok() || dr.input().equals(db)) return;
      refresh = true;
      cmds.add(new AlterDB(db, dr.input()));
    } else if(cmp == copy) {
      final DialogInput dc = new DialogInput(db, COPYTITLE, gui, 2);
      if(!dc.ok() || dc.input().equals(db)) return;
      refresh = true;
      cmds.add(new Copy(db, dc.input()));
    } else if(cmp == backup) {
      for(final String s : dbs) cmds.add(new CreateBackup(s));
    } else if(cmp == restore) {
      for(final String s : dbs) cmds.add(new Restore(s));
    } else {
      // update components
      enableOK(buttons, BUTTONOPEN, ok);
      enableOK(buttons, BUTTONBACKUP, ok);
      enableOK(buttons, BUTTONDROP, ok);
      ok = ctx.mprop.dbexists(db);